In a typical data warehouse environment, the large amounts of data stored in databases may be organized into segments of data, where each segment contains all data in a table having an identified characteristic (e.g. all sales data for a particular month of a particular year). Segments may be occasionally removed from the table either for further processing or because the data in the segment is no longer needed. The removal of a segment from the table may involve removal of a large amount of data. Even if the table is not organized into segments and all data having an identified characteristic is removed, the index for the table should be updated as a result of such a removal.
One method for maintaining indexes combines index maintenance with a data removal operation. However, given the large amount of data involved in a removal operation, such index maintenance impedes removal operation progress if they are performed concurrently. Another method requires that an entirely new index be built after the removal operation is completed, but this may result in more work than is necessary if the index is largely correct.